package com.zany.children.service;

import com.zany.children.vo.ChargesOwedDetail;
import com.zany.children.vo.PaymentProject;

import java.util.List;
import java.util.Map;

public interface ChargesOwedDetailService {
    /**
     * 保存欠费明细信息。
     *
     * @param chargesOwedDetail
     * @return
     */
    Long saveChargesOwedDetail(ChargesOwedDetail chargesOwedDetail);

    /**
     * 修改欠费明细信息.
     *
     * @param chargesOwedDetail
     */
    void updateChargesOwedDetail(ChargesOwedDetail chargesOwedDetail);

    /**
     * 删除欠费明细信息.
     *
     * @param id
     */
    void deleteChargesOwedDetailById(Long id);

    /**
     * 查询欠费明细列表。
     *
     * @param chargesOwedDetail
     * @return
     */
    List<ChargesOwedDetail> getChargesOwedDetailListPage(ChargesOwedDetail chargesOwedDetail);

    /**
     * 查询欠费明细列表count.
     *
     * @param chargesOwedDetail
     * @return
     */
    Integer getChargesOwedDetailListPageCount(ChargesOwedDetail chargesOwedDetail);

    /**
     * 通过id获取欠费明细信息.
     *
     * @param id
     * @return
     */
    ChargesOwedDetail getChargesOwedDetailById(Long id);



    List<ChargesOwedDetail> getChargesOwedDetailByCondition(Map<String,Object> map);




    void updateReduction(ChargesOwedDetail chargesOwedDetail);


    /**
     * 通过学生id获取所有的欠费项目.
     * @return
     */
    List<PaymentProject> getProjectListByStuId(Map<String,Object> param);
}
